package Sstring;

import java.util.Arrays;

/**
 * 字符串组成正则表达式方法二
 * string[] split(string regex)
 * 将当前字符串中按照满足正则表达式的部分进行拆分
 */
public class SpliDemo {
    public static void main(String[] args) {

        String line="abc123def456ghi";
        String[] date=line.split("[0-9]+");//将字符串 line 按照连续的数字进行分割，并将分割后的结果存储在一个字符串数组 date 中。
        System.out.println(date.length);//输出数组长度
        System.out.println(Arrays.toString(date));//输出数组里面的内容
        System.out.println();
        line="abcdafgha";
        date=line.split("a");//对,进行分割
        System.out.println(date.length);
        System.out.println(Arrays.toString(date));

        /*
            特殊点:
            1:如果字符串最开始就是可拆分项,那么会在之前拆分出一个空字符串
            2:如果有两个连续的可拆分项,那么它们中间会拆分出一个空字符串
            3:如果是字符串末尾连续出现可拆分项,那么拆分出的空字符串会被忽略
         */
        line=",abc,def,ghi,,,,,,,,,,,,,,";
        date=line.split(",");
        System.out.println(date.length);
        System.out.println(Arrays.toString(date));

        line=",abc,def,ghi,,,,,,,,,,,,,,a";
        date=line.split(",");
        System.out.println(date.length);
        System.out.println(Arrays.toString(date));

        line="abc.def.ghi";
        date=line.split("\\.");//在.的位置进行分割
        System.out.println(date.length);
        System.out.println(Arrays.toString(date));

        line="abc\\dfc\\dde";
        date=line.split("\\\\");//在\\的位置进行分割
        System.out.println(date.length);
        System.out.println(Arrays.toString(date));
    }
}
